In video compression systems, a source video sequence may be partitioned into successive groups of pictures or GOPs, where each picture or frame in the GOP may be of a pre-defined frame coding type. These frame coding types may comprise intra-coded frames, predicted frames, and bidirectional-predicted frames. The intra-coded or “I” frames may only use the information within the frame to perform video compression. These self-contained “I” frames provide a base value or anchor that is an estimate of the value of succeeding frames. Each GOP may generally start with a self-contained “I” frame as the reference or anchor frame from which the other frames in the group may be generated for display. The GOP frequency, and correspondingly the frequency or periodicity of “I” frames, may be driven by specific application spaces. The predicted or “P” frames may use a motion estimation scheme to generate picture elements that may be predicted from the most recent anchor frame or “I” frame. Compressing the difference between predicted samples and the source value results in better coding efficiency than that which may be achieved by transmitting the encoded version of the source frame information. At a receiver or decoder side, the compressed difference frame is decoded and subsequently added to a predicted frame for display. In some instances, for example, as recommended by the International Telecommunications Union Telecommunications Standardization Sector (ITU-T) video coding standard H.264, intra-coded or “I” frames may also utilize prediction, however, prediction must be formed from information provided within the frame.
The bidirectional-predicted frames or “B” frames may use multiple frames that occur in a future location in the video sequence and/or in a past location in the video sequence to predict the image samples. For “B” frames, the reference frame may be temporally later in a display order, however, the reference frame must precede the “B” frame in the coding order. As with “P” frames, motion estimation may be used for pixel prediction in “B” frames and the difference between the original source and the predicted frames may be compressed. At the receiver or decoder end, one or more “B” frames may be motion compensated and may be added to the decoded version of the compressed difference signal for display. Since both the “P” frames and “B” frames may be based on other frames, they may be referred to as inter-coded frames.
Since “I” frames are coded independently of any other frames, they may require more bits than other frame coding types. The “B” frames may depend on multiple predictions and may not generally be used to predict samples in other frames, therefore “B” frames may require fewer number of bits than “I” frames. The number of bits necessary for “P” frame coding may be somewhere between the number of bits necessary for “I” frames and “B” frames. The number of bits allocated for a specified GOP, the bit rate, may vary and may depend on the system requirements and/or its operation. The ratio of bit rates between “I”, “P”, and “B” frame coding types in a specified GOP bit rate may be chosen such that the coding may result in similar or equal video quality, or similar distortion artifacts, for the various frame types.
A digital video encoder, for example, may be required to assign the number of bits for each frame type subject to conditions set by the bandwidth of the transmission channel and/or by the size of a storage device, all while maintaining optimum video quality. A rate control may be typically used to predict the number of frame bits to be allocated and quantization parameters for a frame coding type. Rate control is the task of ensuring the encoded bitstream meets the bit rate requirements of the transmission channel or storage medium while optimizing quality. In this regard, the bit rate requirements may, in some instances, be larger than an average bit rate. Adapting the rate control in a video encoder to achieve video quality equalization may also have to be optimized so that it may be implemented in an integrated circuit (IC).
Demands for cutting edge encoding technology is driven by the fact that good quality encoded bitstreams at low bit rates may be required in certain video applications. In practice, the task of achieving consistent video quality among frame types at low to medium bit rates may be a very difficult one. For example, “I” frames may be used to support certain low bit rate operational functions such as random access, fast forward, and/or rewind because “I” frames are self-contained and there is a lesser need for complex reconstruction calculations and/or storage of multiple frames for prediction as is the case with “P” and “B” frames. However, consecutive “I” frames may exhibit a lack of temporal consistency because of their relative separation in the video sequence when compared to the higher frequency with which “P” or “B” frames occur. When a video compression system is operated at low to medium bit rate settings, it may be difficult implement a rate control that maintains temporally consistent image quality between motion compensated “P” and “B” frames and non-motion compensated “I” frames. The result of this temporal inconsistency may be a noticeable beating of the video sequence that has the same frequency as the frequency at which the “I” frames occur.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.